package com.alks.function.service.subcontract;

import com.alks.entity.data.entity.dispatch.OemLotHead;
import com.alks.entity.data.entity.dispatch.UserOemRelation;
import com.alks.entity.data.entity.imes.Brand;
import com.alks.entity.data.entity.imes.BrandOemRelation;
import com.alks.entity.data.entity.imes.SysUserSub;
import com.alks.entity.data.response.ResponseInfo;

import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.List;

/**
 * @author:hxl
 * @create: 2024-07-25 10:04
 * @Description:
 */
public interface SubcontractService {
    ResponseInfo searchOemLotHead(OemLotHead oemLotHead);

    ResponseInfo complete(OemLotHead oemLotHead);

    ResponseInfo cancelComplete(OemLotHead oemLotHead);

    ResponseInfo updatePrice(OemLotHead oemLotHead);

    ResponseInfo delete(OemLotHead oemLotHead);

    ResponseInfo oemCombo(String searchKey, List<String> vendorTypes);

    void downloadOem(OemLotHead oemLotHead, HttpServletResponse response) throws IOException;

    ResponseInfo selectUserByRoleId(SysUserSub user);

    ResponseInfo selectByUserId(Long userId);

    ResponseInfo add(UserOemRelation userOemRelation);

    ResponseInfo deleteVendor(UserOemRelation userOemRelation);

    ResponseInfo brandOemRelationslist(Long userId);

    ResponseInfo addBrand(BrandOemRelation userOemRelation);

    ResponseInfo deleteBrand(BrandOemRelation userOemRelation);

    ResponseInfo brandComboList();

    ResponseInfo queryBrandList(Brand brand);

    ResponseInfo insertBrand(Brand brand);

    ResponseInfo deleteBrands(Brand brand);

    ResponseInfo deleteList(List<OemLotHead> oemLotHead);
}
